package com.hj.collegetravel.models;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class CUpdateExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CUpdateExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andUIdIsNull() {
            addCriterion("u_id is null");
            return (Criteria) this;
        }

        public Criteria andUIdIsNotNull() {
            addCriterion("u_id is not null");
            return (Criteria) this;
        }

        public Criteria andUIdEqualTo(Integer value) {
            addCriterion("u_id =", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotEqualTo(Integer value) {
            addCriterion("u_id <>", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdGreaterThan(Integer value) {
            addCriterion("u_id >", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("u_id >=", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdLessThan(Integer value) {
            addCriterion("u_id <", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdLessThanOrEqualTo(Integer value) {
            addCriterion("u_id <=", value, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdIn(List<Integer> values) {
            addCriterion("u_id in", values, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotIn(List<Integer> values) {
            addCriterion("u_id not in", values, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdBetween(Integer value1, Integer value2) {
            addCriterion("u_id between", value1, value2, "uId");
            return (Criteria) this;
        }

        public Criteria andUIdNotBetween(Integer value1, Integer value2) {
            addCriterion("u_id not between", value1, value2, "uId");
            return (Criteria) this;
        }

        public Criteria andUVersionIsNull() {
            addCriterion("u_version is null");
            return (Criteria) this;
        }

        public Criteria andUVersionIsNotNull() {
            addCriterion("u_version is not null");
            return (Criteria) this;
        }

        public Criteria andUVersionEqualTo(String value) {
            addCriterion("u_version =", value, "uVersion");
            return (Criteria) this;
        }

        public Criteria andUVersionNotEqualTo(String value) {
            addCriterion("u_version <>", value, "uVersion");
            return (Criteria) this;
        }

        public Criteria andUVersionGreaterThan(String value) {
            addCriterion("u_version >", value, "uVersion");
            return (Criteria) this;
        }

        public Criteria andUVersionGreaterThanOrEqualTo(String value) {
            addCriterion("u_version >=", value, "uVersion");
            return (Criteria) this;
        }

        public Criteria andUVersionLessThan(String value) {
            addCriterion("u_version <", value, "uVersion");
            return (Criteria) this;
        }

        public Criteria andUVersionLessThanOrEqualTo(String value) {
            addCriterion("u_version <=", value, "uVersion");
            return (Criteria) this;
        }

        public Criteria andUVersionLike(String value) {
            addCriterion("u_version like", value, "uVersion");
            return (Criteria) this;
        }

        public Criteria andUVersionNotLike(String value) {
            addCriterion("u_version not like", value, "uVersion");
            return (Criteria) this;
        }

        public Criteria andUVersionIn(List<String> values) {
            addCriterion("u_version in", values, "uVersion");
            return (Criteria) this;
        }

        public Criteria andUVersionNotIn(List<String> values) {
            addCriterion("u_version not in", values, "uVersion");
            return (Criteria) this;
        }

        public Criteria andUVersionBetween(String value1, String value2) {
            addCriterion("u_version between", value1, value2, "uVersion");
            return (Criteria) this;
        }

        public Criteria andUVersionNotBetween(String value1, String value2) {
            addCriterion("u_version not between", value1, value2, "uVersion");
            return (Criteria) this;
        }

        public Criteria andUContentIsNull() {
            addCriterion("u_content is null");
            return (Criteria) this;
        }

        public Criteria andUContentIsNotNull() {
            addCriterion("u_content is not null");
            return (Criteria) this;
        }

        public Criteria andUContentEqualTo(String value) {
            addCriterion("u_content =", value, "uContent");
            return (Criteria) this;
        }

        public Criteria andUContentNotEqualTo(String value) {
            addCriterion("u_content <>", value, "uContent");
            return (Criteria) this;
        }

        public Criteria andUContentGreaterThan(String value) {
            addCriterion("u_content >", value, "uContent");
            return (Criteria) this;
        }

        public Criteria andUContentGreaterThanOrEqualTo(String value) {
            addCriterion("u_content >=", value, "uContent");
            return (Criteria) this;
        }

        public Criteria andUContentLessThan(String value) {
            addCriterion("u_content <", value, "uContent");
            return (Criteria) this;
        }

        public Criteria andUContentLessThanOrEqualTo(String value) {
            addCriterion("u_content <=", value, "uContent");
            return (Criteria) this;
        }

        public Criteria andUContentLike(String value) {
            addCriterion("u_content like", value, "uContent");
            return (Criteria) this;
        }

        public Criteria andUContentNotLike(String value) {
            addCriterion("u_content not like", value, "uContent");
            return (Criteria) this;
        }

        public Criteria andUContentIn(List<String> values) {
            addCriterion("u_content in", values, "uContent");
            return (Criteria) this;
        }

        public Criteria andUContentNotIn(List<String> values) {
            addCriterion("u_content not in", values, "uContent");
            return (Criteria) this;
        }

        public Criteria andUContentBetween(String value1, String value2) {
            addCriterion("u_content between", value1, value2, "uContent");
            return (Criteria) this;
        }

        public Criteria andUContentNotBetween(String value1, String value2) {
            addCriterion("u_content not between", value1, value2, "uContent");
            return (Criteria) this;
        }

        public Criteria andUDownloadIsNull() {
            addCriterion("u_download is null");
            return (Criteria) this;
        }

        public Criteria andUDownloadIsNotNull() {
            addCriterion("u_download is not null");
            return (Criteria) this;
        }

        public Criteria andUDownloadEqualTo(String value) {
            addCriterion("u_download =", value, "uDownload");
            return (Criteria) this;
        }

        public Criteria andUDownloadNotEqualTo(String value) {
            addCriterion("u_download <>", value, "uDownload");
            return (Criteria) this;
        }

        public Criteria andUDownloadGreaterThan(String value) {
            addCriterion("u_download >", value, "uDownload");
            return (Criteria) this;
        }

        public Criteria andUDownloadGreaterThanOrEqualTo(String value) {
            addCriterion("u_download >=", value, "uDownload");
            return (Criteria) this;
        }

        public Criteria andUDownloadLessThan(String value) {
            addCriterion("u_download <", value, "uDownload");
            return (Criteria) this;
        }

        public Criteria andUDownloadLessThanOrEqualTo(String value) {
            addCriterion("u_download <=", value, "uDownload");
            return (Criteria) this;
        }

        public Criteria andUDownloadLike(String value) {
            addCriterion("u_download like", value, "uDownload");
            return (Criteria) this;
        }

        public Criteria andUDownloadNotLike(String value) {
            addCriterion("u_download not like", value, "uDownload");
            return (Criteria) this;
        }

        public Criteria andUDownloadIn(List<String> values) {
            addCriterion("u_download in", values, "uDownload");
            return (Criteria) this;
        }

        public Criteria andUDownloadNotIn(List<String> values) {
            addCriterion("u_download not in", values, "uDownload");
            return (Criteria) this;
        }

        public Criteria andUDownloadBetween(String value1, String value2) {
            addCriterion("u_download between", value1, value2, "uDownload");
            return (Criteria) this;
        }

        public Criteria andUDownloadNotBetween(String value1, String value2) {
            addCriterion("u_download not between", value1, value2, "uDownload");
            return (Criteria) this;
        }

        public Criteria andULimitIsNull() {
            addCriterion("u_limit is null");
            return (Criteria) this;
        }

        public Criteria andULimitIsNotNull() {
            addCriterion("u_limit is not null");
            return (Criteria) this;
        }

        public Criteria andULimitEqualTo(String value) {
            addCriterion("u_limit =", value, "uLimit");
            return (Criteria) this;
        }

        public Criteria andULimitNotEqualTo(String value) {
            addCriterion("u_limit <>", value, "uLimit");
            return (Criteria) this;
        }

        public Criteria andULimitGreaterThan(String value) {
            addCriterion("u_limit >", value, "uLimit");
            return (Criteria) this;
        }

        public Criteria andULimitGreaterThanOrEqualTo(String value) {
            addCriterion("u_limit >=", value, "uLimit");
            return (Criteria) this;
        }

        public Criteria andULimitLessThan(String value) {
            addCriterion("u_limit <", value, "uLimit");
            return (Criteria) this;
        }

        public Criteria andULimitLessThanOrEqualTo(String value) {
            addCriterion("u_limit <=", value, "uLimit");
            return (Criteria) this;
        }

        public Criteria andULimitLike(String value) {
            addCriterion("u_limit like", value, "uLimit");
            return (Criteria) this;
        }

        public Criteria andULimitNotLike(String value) {
            addCriterion("u_limit not like", value, "uLimit");
            return (Criteria) this;
        }

        public Criteria andULimitIn(List<String> values) {
            addCriterion("u_limit in", values, "uLimit");
            return (Criteria) this;
        }

        public Criteria andULimitNotIn(List<String> values) {
            addCriterion("u_limit not in", values, "uLimit");
            return (Criteria) this;
        }

        public Criteria andULimitBetween(String value1, String value2) {
            addCriterion("u_limit between", value1, value2, "uLimit");
            return (Criteria) this;
        }

        public Criteria andULimitNotBetween(String value1, String value2) {
            addCriterion("u_limit not between", value1, value2, "uLimit");
            return (Criteria) this;
        }

        public Criteria andUTimeIsNull() {
            addCriterion("u_time is null");
            return (Criteria) this;
        }

        public Criteria andUTimeIsNotNull() {
            addCriterion("u_time is not null");
            return (Criteria) this;
        }

        public Criteria andUTimeEqualTo(Date value) {
            addCriterion("u_time =", value, "uTime");
            return (Criteria) this;
        }

        public Criteria andUTimeNotEqualTo(Date value) {
            addCriterion("u_time <>", value, "uTime");
            return (Criteria) this;
        }

        public Criteria andUTimeGreaterThan(Date value) {
            addCriterion("u_time >", value, "uTime");
            return (Criteria) this;
        }

        public Criteria andUTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("u_time >=", value, "uTime");
            return (Criteria) this;
        }

        public Criteria andUTimeLessThan(Date value) {
            addCriterion("u_time <", value, "uTime");
            return (Criteria) this;
        }

        public Criteria andUTimeLessThanOrEqualTo(Date value) {
            addCriterion("u_time <=", value, "uTime");
            return (Criteria) this;
        }

        public Criteria andUTimeIn(List<Date> values) {
            addCriterion("u_time in", values, "uTime");
            return (Criteria) this;
        }

        public Criteria andUTimeNotIn(List<Date> values) {
            addCriterion("u_time not in", values, "uTime");
            return (Criteria) this;
        }

        public Criteria andUTimeBetween(Date value1, Date value2) {
            addCriterion("u_time between", value1, value2, "uTime");
            return (Criteria) this;
        }

        public Criteria andUTimeNotBetween(Date value1, Date value2) {
            addCriterion("u_time not between", value1, value2, "uTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}